package com.ruoyi.system.mapper;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.system.domain.ByBsTime;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 帮手时间安排Mapper接口
 *
 * @author ruoyi
 * @date 2023-05-27
 */
@Mapper
public interface ByBsTimeMapper {
    @Select("SELECT id,date,'0' status FROM `by_bs_time` where bs_id = #{id} and date >= DATE_FORMAT(now(),'%Y-%m-%d') ORDER BY date")
    List<JSONObject> getBsDateMoreNow(@Param("id") String id);

    // 通过日期和帮手id，判断当前帮手是否绑定过
    @Select("SELECT * FROM `by_bs_time` where bs_id = #{bsid} and date = #{date}")
    List<ByBsTime> getBsTimeForByIdAndDate(@Param("bsid") String bsid,@Param("date") String date);

    /**
     * 查询帮手时间安排
     *
     * @param id 帮手时间安排主键
     * @return 帮手时间安排
     */
    public ByBsTime selectByBsTimeById(Long id);

    /**
     * 查询帮手时间安排列表
     *
     * @param byBsTime 帮手时间安排
     * @return 帮手时间安排集合
     */
    public List<ByBsTime> selectByBsTimeList(ByBsTime byBsTime);

    /**
     * 新增帮手时间安排
     *
     * @param byBsTime 帮手时间安排
     * @return 结果
     */
    public int insertByBsTime(ByBsTime byBsTime);

    /**
     * 修改帮手时间安排
     *
     * @param byBsTime 帮手时间安排
     * @return 结果
     */
    public int updateByBsTime(ByBsTime byBsTime);

    /**
     * 删除帮手时间安排
     *
     * @param id 帮手时间安排主键
     * @return 结果
     */
    public int deleteByBsTimeById(Long id);

    /**
     * 批量删除帮手时间安排
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteByBsTimeByIds(Long[] ids);

    public List<ByBsTime> selectByBsTimeListNow(String id);
}
